import '../controller/controller.dart';
import '../presenter/setting_presenter.dart';
import '../repository/cache_repository.dart';
import '../repository/rest_client.dart';
import '../repository/token_repository.dart';
import '../usecase/setting_usecase.dart';

abstract class SettingController implements Controller {
  final SettingPresenter presenter;

  final CacheRepository _cacheRepository;
  final TokenRepository _tokenRepository;
  final RestClient _client;

  SettingController(this.presenter, this._cacheRepository,
      this._tokenRepository, this._client);
  void validateClient(String token) => SettingValidateClientUseCase(
      presenter, _cacheRepository, _tokenRepository, _client)(token);
}
